package com.dhsc.service.impl.ywzj;

import java.util.List;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.dhsc.domain.ywzx.ywzj.JzclzjVo;
import com.dhsc.domain.yypt.LayuiTableVo;
import com.dhsc.domain.yypt.ResponseObject;
import com.dhsc.exception.MyException;
import com.dhsc.local.dao.ywzj.IJzclzjDao;
import com.dhsc.service.ywzj.IJzclzjService;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod;

import lombok.extern.slf4j.Slf4j;

/**
 * @ClassName: JzclzjServiceImpl
 * @Description: 集中处理质检
 * @date: 2023/9/7 11:24
 * @author: gx
 */
@Service
@Slf4j
public class JzclzjServiceImpl implements IJzclzjService {

    @Autowired
    private IJzclzjDao jzclzjDao;

    @Override
    public LayuiTableVo queryJzclzj(JzclzjVo jzclzjVo) {
        LayuiTableVo obj = new LayuiTableVo();
        try{
            PageMethod.startPage(jzclzjVo.getPage(),jzclzjVo.getLimit());
            List<JzclzjVo> list = jzclzjDao.queryJzclzj(jzclzjVo);
            PageInfo<JzclzjVo> pageInfo = new PageInfo<>(list);
            obj.setData(list);
            obj.setMsg("");
            obj.setCount(pageInfo.getTotal());
            obj.setCode(0);
        }catch (Exception e){
            log.error("查询集中处理质检信息出错",e);
            throw new MyException("查询集中处理质检信息出错",e);
        }
        return obj;
    }

    @Override
    public ResponseObject queryYybByCzr(JzclzjVo jzclzjVo) {
        ResponseObject obj = new ResponseObject();
        try{
            List<JzclzjVo> list = jzclzjDao.queryYybByCzr(jzclzjVo);
            obj.setData(list);
            obj.setStatus(200);
        }catch (Exception e){
            log.error("查询营业部名称信息出错",e);
            throw new MyException("查询营业部名称信息出错",e);
        }
        return obj;
    }

    @Override
    public ResponseObject queryZhTxtdm(JzclzjVo jzclzjVo) {
        ResponseObject obj = new ResponseObject();
        try{
            List<JzclzjVo> list = jzclzjDao.queryZhTxtdm(jzclzjVo);
            obj.setData(list);
            obj.setStatus(200);
        }catch (Exception e){
            log.error("查询账户字典信息出错",e);
            throw new MyException("查询账户字典信息出错",e);
        }
        return obj;
    }

    @Override
    public ResponseObject queryZjry() {
        ResponseObject obj = new ResponseObject();
        try{
            List<JzclzjVo> list = jzclzjDao.queryZjry();
            obj.setData(list);
            obj.setStatus(200);
        }catch (Exception e){
            log.error("查询质检人员信息出错",e);
            throw new MyException("查询质检人员信息出错",e);
        }
        return obj;
    }

    @Override
    public ResponseObject queryQsTxtdm(JzclzjVo jzclzjVo) {
        ResponseObject obj = new ResponseObject();
        try{
            List<JzclzjVo> list = jzclzjDao.queryQsTxtdm(jzclzjVo);
            obj.setData(list);
            obj.setStatus(200);
        }catch (Exception e){
            log.error("查询字典信息出错",e);
            throw new MyException("查询字典信息出错",e);
        }
        return obj;
    }

    @Override
    public ResponseObject saveJzclzj(JzclzjVo jzclzjVo) {
        ResponseObject obj = new ResponseObject();
        try {
            if (StringUtils.equals("1",jzclzjVo.getJhbz())){
                //如果选择了经典案例，则执行插入语句
                jzclzjDao.insertJzclzj(jzclzjVo);
            }else{
                //如果没有选经典案例，则执行修改语句
                jzclzjDao.updateJzclzj(jzclzjVo);
            }
            obj.setStatus(200);
        }catch (Exception e){
            log.error("保存集中处理质检信息出错",e);
            throw new MyException("保存集中处理质检信息出错",e);
        }
        return obj;
    }
}
